今天筆者想聊聊TensorFlow的矩陣運算模式,筆者向來的數學都不是太好,此次30天的尾聲想要與大家一起瞭解一下TensorFlow的數學概念,那我們就開始啦!
矩陣運算模擬神經網路
基本上我們可以用一套數學公式進行模擬,得出輸出與接收神經元的運作方法,如下所示:
y1=activation funtion(x1 X w11 + x2 X w21 + x3 X w31 + b1)
y2=activation funtion(x1 X w12 + x2 X w22 + x3 X w32 + b2)
下圖的解釋可以比較清楚些:
以上如果用中文的理解大致上的意思是: 輸出=激活函數(輸入 X 權重 + 偏差)
接著我們照每一個步驟分開來理解,如下所示:
輸入x
藉由X可接收訊息,X負責模擬輸入的部分,如上所示的x1、x2、x3
接收y
Y負責模擬接收的部分,如上所示的y1、y2
權重w(weight)
權重其實就是神經元上的軸突,與人類神經類似,軸突負責連結兩端,傳遞訊息之功用
注意!由於我們建立TensorFlow模擬神經網路需要完全連接輸入與接收,所以有個簡單的算法,如下所示:
(輸入3) X (接收2) = 共需要6個軸突
w11、w21、w31負責將x1、x2、x3傳入y1
w12、w22、w32負責將x1、x2、x3傳入y2
偏差值b(bias)
偏差值b可比擬為突出,代表接收神經元容易被活化的程度
如上所示,由於接收y有兩個,所以會有兩個偏差值b1、b2
注意!偏差值越高,越容易被活化並傳遞訊息
激活函數(avtivation funtion)
上述的公式(x1 X w11 + x2 X w21 + x3 X w31 + b1),其實就是將激活函數模擬神經傳導的運作。所以所有接受刺激的總和經過運算後,假設大於臨界值的話,會再傳遞至下一個神經元
今天很多有點數學概念的東西,對筆者來說也相當具有挑戰性呢!明天即將完成鐵人賽第30天啦!最後努力啦!
Reference: 林大貴(2019):TensorFlow+Keras 深度學習人工智慧實務應用。新北市:博碩文化